let  str="123"
let num=123;

// 这两种形式暴露出来的内容是一样的：
// 方式1：
// exports.num=num
// exports.str=str
// 方式2：
// module.exports={ str,num }




// exports收集的数据能够被暴露出去，是因为两者之间有浅拷贝的关系
// 所以，如果这种关系被断开了，那么 exports就失效了

// 浅拷贝：共用一个内存地址
// 关系被断开：不共用一个内存地址


// exports.num=num
// exports.str=str
//这样暴露的结果为： { num: 123, str: '123' }


// exports={num,str} //新的内存地址，关系被断开
//这样暴露的结果为：{}   


// module.exports={ str }  //新的内存地址  关系被断开
// exports.num=num
//这样暴露的结果为：{ str: '123' }


// 所以，两个方式最好不好一起使用***************



// 如果非要一起使用，那么别给这两个方式赋予新的内存地址
module.exports.str=str
exports.num=num
//这样暴露的结果为：{ str: '123', num: 123 }







// 除了module.exports可以暴露数据，exports也可以暴露数据-------------------

// 不管是一个内容还是多个内容，都统一暴露
// module.exports=值
// module.exports={ 各种值 }


// 一个一个的暴露
// exports.属性名1=值
// exports.属性名2=值